package com.elitesland.system.repo;

import com.elitesland.system.entity.SysNextNumberDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import org.springframework.stereotype.Repository;

import javax.transaction.Transactional;
import java.util.List;
import java.util.Optional;

/**
 * <pre></pre>
 *
 * @author mir
 * @date 2020-10-11
 */
@Repository
public interface SysNextNumberRepo extends JpaRepository<SysNextNumberDO, Long>, QuerydslPredicateExecutor<SysNextNumberDO> {

    /**
     * 根据定义code，返回下一编号一定
     * @param code 定义code
     * @return 下一编号定义对象
     */
    Optional<SysNextNumberDO> getByCode(String code);

    /**
     * 根据ID列表删除对应下一编号
     * @param ids ID列表
     */
    @Transactional
    void deleteAllByIdIn(List<Long> ids);
}
